make state easy to mock