create separate reset_state func