small refactorings and addition of MiniMax algorithm that is currently trapped in infinite recursion