[#79863386] implement service according to spec
[#79863386] tidy up spec