location refactor
dialog refactor