update func3