how to derive functions