organize code based on modules - closes #3