wooo tests passed, added check for not attacking own color and impl in factory