starting to figure out state transitions