closure implementation

use the reference of superEnvironment, to recur the closure