fix dumb problem preventing opening old buffers
add support for buffer io
add a signature function to use in testing