refactored timing reading