add invoke functions for override