ahh why do we have so many public variables