register buffer implemented