add support for different platforms