all fixed... add some new features