login: refactor services