readonly set to true to allow copying