merging base from block-read branch to master, all development done here now