Lazy copying: initial implentation