event driven write