update ui, add test, and comment server part