refactor STATES