improve fetch semantics