add swapLearning