yeah I think the logic could be separated into the two different modes.