Adding additions from @sushimustwrite