xml constructor