separate GUI from TDA