fixed organization

separate different parts of app into their own modules