Why are bots so complicated?