gui system almost complete