update the way locations are parsed in models that have them as nested values; add additional routes