implemented concret clone
smart pointer recursive reference
strategy patten. Tool/Toolbox implementation