tmp
complete a draft of skip list impl