Cleaned up a lot more.
Demo of function composition