location reasoning