https://staragile.com/blog/spotify-model