added more operating system dependent stuff