Final Cleaned Version