separate functions gui in separate widgets