Major rewrite of the application, we can use this as a nice starting
point!