Big update with copy and moving things around.