documented function compilation