add getnext fun