fix bugs, improve code, improve webpage, add some small features