add some features

1. you can use params to control the program