added component-wise copy