Copyright (c) Ivan Zeifert and A.Gophmann, 2007. All rights reserved.