self-learning flows