done lots of work on gui