added copy-ctors and operator=