Adds copy and move constructors and assignment