initial prototype, can write (but not read yet)