implement user creation and authentication; initial commit