move buffer list code to core_buffer and core_view