moved decimal verification into calculate_all()