First pass of programming assignment