only add defaults if necessary