add placeholder
add is_callable