add authentication and authorization support