I cant seem to get the activex dll to work,

I declared all the subs as public, then when I tried to compile VB said something about

"private object modules cannot be used in public object modules as parameters or return types for public procedures, as public data members, or fields as public user defined types"

and when I declared all the subs as private I couldnt access any of them when I made a referance to the DLL.