Docs updated
Refactored to use yield