successful compile. need to implement copy methods