Add betting.
Refactor and improve structure.