refined return types to remove the need for user to parse extraneous json format