refactored (and rewrote parts of) SliceGuarantor