init and structural changes