working on event sourcing