error handling
make some noise!
make sure the buffer is always a valid string, some TODOs and some debug output
add timeout here too