One function to rule them all and in light reduce them.