New Version with improved performance