Added basic classes and interfaces. First steps of implementation