various structural changes to make the different components easier to
understand.