added ValueBuffer design