working on observers, gui.component is still in there but i dont think i will need any of it anymore