prepared for cross-platform compile.