Effects have protected contructors

and disallowed copy + assign