refactoring; create partial and absolute diversity processors