Copyright (c) 2001 All rights reserved by fujiwara;