Updated proto implementation