reorganized file structure and put classes in appropriate modules.