finished functions (lexical scoping, functions as parameters)