re-worked classes now play nicely together and with the random_MDP() function