Oliver

I'm afraid that this pull request may overwrite the old app.py, but I'm not sure. As for the work done, many methods are still untested but I just wanted you guys to get a look at what's going on.