added draft of class SemanticChecker