Add UHC Backend (experimental, ported from the darcs branch)