Change unsigned char to uint8_t
An unsigned char might not always be 8 bits
Move print functions to separate function
Add Makefile