nicer xml parsing implemented