tsp with user interface