- cleanup code
- fix signed/unsigned issues
- extra test for signed/unsigned issues