very silly bug
reimplement eval selection