Using unsigned char instead of signed char
Add TODOs