Better working version.