add optional encoding handling