skip list set refactored