Semi-Cleaned working version