patmat classes required for reflect refactored