#54 Final version.