refactoring; catalog