First integration commit from github build
Checkpoing in refactoring function and import implementation
Continue refactoring IFunction related classes