add proto, not happy with this approach though