Added Documentation
Moved some validation to route middleware