good state to start refactor