almost finalized gui