separated handler and module a bit, allowing the use of the handler outside of the module