Getting stuff organized

I'm still trying to figure out exactly what the interfaces and such
should be like.