Many changes, trying to implement all service tests
Missed stuff
Some more fixes arising from making merge() clone instead of changing
existing object