- Improved and working version.