building more of the EventStore implementation