first stab at implementing custom user model