handle now defaults to read if no mode is passed