fleshing out abstract basis for restfull api consumption