Some new methods and dirty hacks about read buffer