a whole load of copying