adapt to linux