simplify state, avoid consider context as a dependency of itself