Clean up the mess

Now we have a design the make some sense.