some tidying, make gui respond to holds