implemented FunctionVar
renamed PartialVar to TaskVar
refactored *.test_function