Fix copy-ctor and swap functions; added move ctor