add software learning