added buffer class