added dynamic timescale which updates based on the zoom level