Refactor FunctionBlock -> Function 
added FunctionBlock