copyright (c) Kaoru Kuroki 2001