Optimised using normalTime and absoluteTime