Refactor the way we add a location

closes #36