merge funcional