new features
fix some bugs