implement req3