 The top @-@ down design is usually separation of the program into " vocabularies " that are then used as high @-@ level sets of tools to write the final program . A well @-@ designed Forth program reads like natural language , and implements not just a single solution , but also sets of tools to attack related problems . 
