readxml implementation