Main authors:
   Igor Khomyakov <ikh@awaresw.com>
