Buffer usage

Make all struct private
Snapshot inherit from bytes.Buffer in order to use the methods of byte.Buffer  @xla  @juliusv