restructured application in order to explicitly split application into front end and back end layer