Changed directory layout, added dynamic port assignment, added app.yaml.