Changed namming conventions and more cohesive and loosely coupled classes