initial implementation of partial reads/writes