invert read/hap loop to maintain constants