implementing all the interfaces in an inteligent module : spmm