add some new patche and fix timer