final second iteration2