updated defaults implementation based on feedback