complete with scoring methods