clean code with new ui, function need construct again.