- update limit
- use hasnext method