added support for callables