Much better parsing and looser coopling for location adding