minimax semifunctional
just separated my file