add fun4
merge fun3 and fun4