Working  version.