fixed generic action impl