New version copied from private SVN repo.