add pi function