Full function.
Original