some nicer hooks
nicer discovery mechanism

thanks to @snarfed for the ideas