nit: Please add a '_' prefix for members that are not exposed to outside.