add #bytes
always return a valid position
correct #resourceless
add #available