first commit
finish criteria
refactor route