Refactor to match soap

this wil supercede #2 & #3
by no means merge until https://github.com/eglobal/jones-eglobal-library/pull/77