fixed bug that caused *_list_get_prev() returns next sibling, not previous