fix a bug in lookupVar
add let and proc