simplify preprocessor workarounds