refactor district to remove some cruft and some duplication