Implemented bunch of GUI stuff