shadow: improve subsystem structure