changed grade scale and changed internal double values to BigDecimal