add variable environment in advance redesigning compiling environment