Add first difference implementation
merge