Figured out the deep copy. but something is wrong in gamestate constructor