also add visibility_timeout logic to write()