precompute done
eval partially done