log moved to platform-specific code