when #27 is ready we can add Catalog API. Maybe we can add struct with definition first, the function and the detail behavior can be implemented for the further PRs.