reworked catalog_pointer_check function for all three options