thining about how to do a state based thing