o add more states o decouple read buffer size
o having bad sync problems only can use 4 bytes buffer, supper slow