finishes most of the basic architecture
cleans up a bit more