refactor GUI and start engine system