big refactorings
more splitting up the app