adding basic authentication and model definitions