EntityWithSource: implementation done (untested)