Better copy

+ simplfied diff