refactor _no_extra_states function