Separate r/w
Continuous ReadHeader()