cleaned up requires_package and requires_commands