Cleaning up
Update target
Add test cases.
Add setup script.