implemented buffer geometry support