Restructuring of BufferManager
Restructuring part 2