module pattern implemented; linted