add complete rule, misc defuns