commonJS module support added