more validation
refactoring routes