better api for default values