op and op gui broken into state methods