add Environment pool for adding new Environment
add lexical closure pattern