Default opts to {}