some modify
add surport for eclime