add: support for custom user model