m_takemura's codes