react components now validate their props