in constructors, function_exists() changed into is_callable()