apply function added