removing old code
improving behaviour of output, with and a supplied object and callback
moving material processing to parser