no output, but return bytes