i must admit i still find the std  move and std  unique ptr stuff very un intuitive even after reading the official documentation for them for some reason i thought that i needed a unique ptr to use std  move i m very happy to remove all these unique ptrs 