added mt_function.hpp