First commit

GUI is almost done, back-end still has some design issues.