GUI widgets refactored
Merge with master branch