add learn.cpp