understanding requirements