https://www.shortoftheweek.com/2015/05/04/object-rest