adding in absorb and squeeze functions I think