i had a lot of std:: within that you do not need to have std on your computer
There was some reflexion about constructor and for abstract class he should be protected