add login service and fix routing