Redo validation and add rate limiting