acquire now properly lazy in computing only the size it needs

Also added test for this.