implement location create / read