working on gui system