add portal servlet
add ui and refact