Ui parser

@CFWei  please pull the branch to unit test
= 3 =