factor out rule points-processing code from controller