now can yeild results if a block is provided in the method call