adding commented code and bill of materials rev 2