add CLearnRF