gui functionality working