switched to using a 'yield' function
massive cleanup on aisle four