updated to include the basic XML parser