#47 implementation of bulk ops with readers/writers + basic tests