refactoring, symbol size & struct as param