added ways, one-pass read