completed stable version.