fix range bug
add Slist#reverse
refactoring
refactoring