Location refactor