add autobuffer