Finished basic app, yet to be tested.