fix some errors
fix some errors
add some ability