Add protocol buffer support