eliminating dependency on os