add pv func