follow specifications of part one of first assignment