Added basic classes and an interface.