merge
added protobuf support