GUI classes revamp part1