after discussion going with final class/private ctor