add detecting OS