User registration reimplementation