added cross platform compile capability