so, negamax seems to be working as written
evaluation function and game tree nodes