also `private final`