fst part of eval2 done
snd pt of eval2 done
3rd part of eval2 done
eval2 de - not fully tested