modify action function