implementation of a skip list