Fully implemented Swing GUI