smj.cpp