starting to separate platform-specific code to facilitate a PC build