block scope, parameters, promises