added license
dynamic dryUpdate for more flexibility