changed  some type bounds in the buffer unit. basic tests now show it starting to work