There is at least one if not more UDFs that do this task.