Copyright(c) Anton Kottsov 2002,2003