new function1 and function2