* working version
* adding perf test