tweak eval code to take a dict
add info attaching
tweak bounds passing
split eval/display
implement reeval