move Code::Explain to separate module