working on Block IO