switched to barrett reduction.  slower.  need to implement faster stateless multiplication