added buffer_traits class