make portability between the platforms