smarter handling of default value