better test for is_callable