update read/write block functions to take address and block