some major refactoring
merging some classes
cleaner storyboard