All of the input file generation and output file parsing is encapsulated by the wrapper, for example through external libraries such as cclib. Moreover, with this approach, it is simple to have calculations sent to a batch queuing system, rather than performed directly on the local computer, and to run multiple calculations in parallel.