wrap methods in a module