better handling of defaults