add level traversal