https://staragile.com/blog/reinforcement-learning-examples