Feature/reorganize project structure

updated project structure to have something more organized and scalable.