add license header
use attribute-override-feature for code shorten
update document