fixed to work with multiple readings