create a closure instead of a proc