changed function_exists to is_callable