better dealing with xml