add authentication and login feature