Add OS detect