clean up implementation of DOES

it doesn't quite work at the moment due to a core bug which has been
fixed in blead