implement Request class