add optional encoding