cleanup, and what'll become a necessary function
added a lot of gui shit. all untested