a bit more generic OS checks