Completed second version.