added support for interface callbacks