restructuring for more languages