#2 required and default working