ported MarkovDrone to use chained.py