evaluation now works correctly when everything is well-defined
fixed list block