final part - work on gui