better defaults handling