update ui and some backend code