this is not maintainable code. are we going to do this for each OS that exists out there?