platform-dependent changes