upgrade dependencies
use lambdas