@hushell  Below is the output of valgrind:
```
==12568==
==12568== HEAP SUMMARY:
==12568==     in use at exit: 1,646,543 bytes in 5,623 blocks
==12568==   total heap usage: 903,608 allocs, 897,985 frees, 22,036,901 bytes allocated
==12568==
==12568== LEAK SUMMARY:
==12568==    definitely lost: 58,704 bytes in 2 blocks
==12568==    indirectly lost: 1,574,144 bytes in 5,499 blocks
==12568==      possibly lost: 5,287 bytes in 35 blocks
==12568==    still reachable: 8,408 bytes in 87 blocks
==12568==         suppressed: 0 bytes in 0 blocks
==12568== Rerun with --leak-check=full to see details of leaked memory
==12568==
==12568== For counts of detected and suppressed errors, rerun with: -v
==12568== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
```
Is it OK?