fixed os detection, again