most of apply mapping works