adding support for buffered reading from disk. Next milestone is trying
with multiple fiels in parallell