implement model except Game initialization