implement stage 2 requirements to pass test