design and user registration & auth