1. Add eigen3
2. Support input arguments
3. Fixed some bugs