added GUI, cleaned up