almost all functionality of gui has to be wroking