start unification and replacement
refactoring and start martelli montanari