fixed some bug, add some features