add separate method for instantiating user from external provider