fix js-bug #2
fix bug #3
fix bug #4
fix bug #5
fix bug #6
fix bug #7