Refactor using controller
Add gender selection
refactor 2