rename buffer -> writeable_buffer