better handling defaults