support for functions returning void