implementing a function finally
deleted unnecessary lines
delete unnecessary lines
refactoring around Function::Eval
refacoting around Function