Add basic infrastructure with great great great functional programming code by Philip.