added an interface for MatrixBuilder and created a class with
userspecific stochastic matrix building