add platform compatibility