make crypto optional