moved members/member functions from public to private space