Bounded the push_buffer's size, and added documentation