changed some unnecessary 'public' to 'private'