Added some initial interfaces and classes