added support for modules
removed annoying loop func
upped version