moved disabled copy constructors and assignment operators to private