add: login using extenal id providers
mod: rework user model