+fix bug, add some features