Updated to meet challenge requirements