fuking difference func add