initial commit with separation between app and server code