add proto for construct