work on event driven sync