Added classes and basic interface.