GUIs are now working!

But still need optimizations and testing