implement section3