same changes as coop branch