Merge pull request #19 from DavidS/master

Please review this thoroughly before merging!
explicitly define the update order, uses a generated file to get proper diff support from File