Maybe fixed #171, started looking into #217
Fixed #217, substitution now uses bot.eval
Built changes.