reorganized files to be cleaner, seperated view and controllers