buffer type is constructor argument, not push()