validation injects defaults