add catalog functionality