add assertion when private constructor invoked