update copying; add osx conditional