better decoder