multiple controllers for location refactor; make use of filters