why split construction into these two steps?
if called again this class has an invalid state.
Consider using Builder pattern or add columns and values in constructor