whitespace and style
add support for different callables