updated how defaults are handled