https://javascript.plainenglish.io/7-es6-spread-operator-tricks-and-tips-every-developer-should-know-about-33d7a77e2dfe