scoring logic complete