add new features

add new features