basic func. need to refactor score method