redid the cray fix with ifdef protection