finished implementing xml parsing