made several methods private that shouldn't be exposed