third iteration first part