Minor improvement in backend
1. all data validation is moved to routing layer and remove duplicate check
2. change confusing function naming