added - module pattern
added - unit tests for module