update version of dependencies
format source
field accept a callback function