Major: Restructured the code
(also changed some file names)