renamed some classes and started adding some basic design ideas.