The structured alternative : program design, style and debugging