5. Implementation of Functions and Reductions