Author:: Yuriy Makarov