implement time scaling (can even be dynamic)