implemented section 3