Some code clean-up. Added unit and counit.
Added HCofree