untested gets/write/read
cleanup