Changed visibilty of public api (body/location are now protected)