solution for problem28
add lazy-evaluation functionality to the util.