Start of restructure for buffering implementation
Flowing and non-flowing read modes working