parser, wrapper, input and output