provided functions with signatures and purpose statements