Added requirements
Styling and logic