not colliding with collision polygons

I’m just creating my first game on Panda3D and I’m having a problem with colliding with collision polygons here’s my code:

import direct.directbase.DirectStart
from direct.showbase.DirectObject import DirectObject
from pandac.PandaModules import *
from direct.interval.IntervalGlobal import LerpFunc
from pandac.PandaModules import CollisionHandlerQueue, CollisionNode, CollisionSphere, CollisionTraverser, CollisionPolygon
from panda3d.core import Point3
import sys

class GoldenTowers(object,DirectObject):
    
    def __init__(self):
        self.winXhalf = base.win.getXSize()/2
        self.winYhalf = base.win.getYSize()/2
        self.smiley()
        self.frowney()
        self.man()
        
    def man(self):

        base.cTrav = CollisionTraverser()
        self.pusher = CollisionHandlerPusher()
        
        self.man = loader.loadModel('frowney')
        self.man.reparentTo(render)
        self.man.setPos(0,0,2)
        cNode = CollisionNode('man')
        cNode.addSolid(CollisionSphere(0,0,0,1.1))
        Cman = self.man.attachNewNode(cNode)

        base.camera.reparentTo(self.man)
        base.camera.setPos(0,0,0.5)
        base.camLens.setNearFar(.1,1000)
        base.disableMouse()

        speed = 25
        Forward = Vec3(0,speed*2,0)
        Back = Vec3(0,-speed,0)
        Left = Vec3(-speed,0,0)
        Right = Vec3(speed,0,0)
        Stop = Vec3(0)
        self.walk = Stop
        self.strife = Stop
        taskMgr.add(self.move, 'move-task')

        # note: I copied this exactly from this link 'https://discourse.panda3d.org/t/my-fps-script-awsd-jumping-wall-sliding/3716/31
        self.accept( "escape",sys.exit )
        self.accept( "s" , self.__setattr__,["walk",Back] )
        self.accept( "w" , self.__setattr__,["walk",Forward])
        self.accept( "s-up" , self.__setattr__,["walk",Stop] )
        self.accept( "w-up" , self.__setattr__,["walk",Stop] )
        self.accept( "a" , self.__setattr__,["strife",Left])
        self.accept( "d" , self.__setattr__,["strife",Right] )
        self.accept( "a-up" , self.__setattr__,["strife",Stop] )
        self.accept( "d-up" , self.__setattr__,["strife",Stop] )
        
        self.pusher.addCollider(self.Csmiley, self.smiley, base.drive.node())
        base.cTrav.addCollider(self.Csmiley, self.pusher)
        
        self.pusher.addCollider(self.Cfrowney, self.frowney)
        base.cTrav.addCollider(self.Cfrowney, self.pusher)

        # move function. note: I copied this exactly from this link 'https://discourse.panda3d.org/t/my-fps-script-awsd-jumping-wall-sliding/3716/31
    def move(self,task):
        dt=globalClock.getDt()
        # mouse
        md = base.win.getPointer(0)
        x = md.getX()
        y = md.getY()
        if base.win.movePointer(0, self.winXhalf, self.winYhalf):
            self.man.setH(self.man, (x - self.winXhalf)*-0.1)
            base.camera.setP( clampScalar(-90,90, base.camera.getP() - (y - self.winYhalf)*0.1) )
        # move where the keys set it
        moveVec=(self.walk+self.strife)*dt # horizontal
        self.man.setFluidPos(self.man,moveVec)
           
        return task.cont

        # create 'smiley'
    def smiley(self):
        
        self.smiley = loader.loadModel('smiley')
        self.smiley.reparentTo(render)
        self.smiley.setPos(0,0,1)
        self.Cnode = CollisionNode('smiley')
        self.Cnode.addSolid(CollisionSphere(0,0,0,1))
        self.Csmiley = self.smiley.attachNewNode(self.Cnode)
        self.Csmiley.show()

        # create 'frowney'
    def frowney (self):
        
        self.frowney = loader.loadModel('frowney')
        self.frowney.reparentTo(render)
        self.frowney.setPos(10,0,2)
        self.Cnode = CollisionNode ('frowney')
        self.Cnode.addSolid(CollisionPolygon(Point3(-1,1,-1),Point3(1,1,-1),Point3(1,1,1),Point3(-1,1,1))) # 1# left and right 2# backwards and forwards 3# height
        self.Cnode.addSolid(CollisionPolygon(Point3(-1,-1,-1),Point3(1,-1,-1),Point3(1,-1,1),Point3(-1,-1,1)))
        self.Cnode.addSolid(CollisionPolygon(Point3(-1,-1,-1),Point3(-1,1,-1),Point3(-1,1,1),Point3(-1,-1,1)))
        self.Cnode.addSolid(CollisionPolygon(Point3(-1,-1,-1),Point3(-1,1,-1),Point3(-1,1,1),Point3(-1,-1,1)))
        self.Cnode.addSolid(CollisionPolygon(Point3(1,-1,-1),Point3(1,1,-1),Point3(1,1,1),Point3(1,-1,1)))
        self.Cnode.addSolid(CollisionPolygon(Point3(-1,-1,1),Point3(1,-1,1),Point3(-1,-1,1),Point3(-1,1,1)))
        self.Cnode.addSolid(CollisionPolygon(Point3(-1,-1,-1),Point3(1,-1,-1),Point3(-1,-1,-1),Point3(-1,1,1)))
        self.Cfrowney = self.frowney.attachNewNode(self.Cnode)
        self.Cfrowney.show()

GoldenTowers()
render.setShaderAuto()
run() 

So I can collide with ‘smiley’ but not with ‘frowney’ but when I push smiley into ‘frowney’ they collide…
thanks.

I figured it out… kinda I removed ‘smiley’ and ‘frowney’ from the traverser and added man and for some reason (don’t know why) it now works