removed the shapeless dependency