I think this is good, changed some in q2 use at line 211 to handle staying in same state and added some to q2 soil