don't mutate input Buffer object