making module a bit more generic
making module a bit more generic