error, warning function and supported OS variable
everything checks now to make sure only os supported stuff is done