removing stdarg, and adding native and bytereader