all (c) by a.thiel 2002vvvvvvvvvvvvvvvvv