rid of platform specific code