First pass of program, updated docs, ignore file