a little more OS independant