implement gen_lib_proj class...still existed some bugs. goto bed firstly