skiplist implementation and testcases