move even more scoring functionality to shared