need to rewrite proto