class structure, some GUI done