CHR additions. May contain bugs.