semi functional gui