more smart pointers!
GUI update