added basic markov chain class