add deterministic skip list algorithm