Updated for adaptabl idiom