add lot of game logic with tui implementation