Rework a lot of the logic.  Take advantage of the proxy allowing negative scores.