(add) calculateScore for different types