added XML support: one method for saving, the loading is done through a constructor