implemented element buffer