allow more complex date handling. also update the tests for more attributes in root element