remind myself to split into ascii protocol handler