operator =, constructor