internal function/data should be private
add default values for columns