added default opts to {}