new apply operation