half-way fixed read