A little faster at the last step. Still scope for improvement.