add support for callback