Refactoring CatalogAPI