reuse some code
renamed class
moved comment
This commit makes the assumption ticket #27 is resolved

If assumption does not hold, this commit must be reverted to use the old fashioned unification algorithm