loops and reads well