Refactor
Fix iterators
Fix last() when give negative numner
Refactor classes