Oberon: steps beyond Pascal and Modula