renaming FunctionLiteral to Function