restructured code

moved a lot of stuff from App.js to smaller files. Makes working with
App.js a lot easier.