Programmer's Guide

view commit for how to create the Programmer's guide