start on v2, some refactor, add game harness