ditto private constructor