more implementation details to correct buffer stuff