complete closure
add closure test code