Branch litian

add type