this class is final so these should be private