fn merge