Committing the last code for branch contact_engine. Then I'll try to merge it with the last official code for branch 2