my dinamic factory like struct