Currently maintained version with many corrections.