some more models and user authentication