Updated requirements and formatting