Copyrights(C) all rights reserved to Shimon Goder