* Slightly better working version.