Apply Functional Programming Principles