Added classes for API, Settings, and an interface for API