Modula-2 Programming by Richard Holmes & B.J. Holmes