add gui functionality