Commit before branch and refactor  game modes