add estimate_environment, tempalte_handle, software_enginneering_think