add module
clean up module to not have &block param