Initial commit of my refactor - More or less a rewrite of the project, incorporating a lot of the work that Ricky did.
Added update button, kind of forgot that