base gui functionality;