refactor; use separate files for each route; entity field hiding