first draft of implementation for Meta.Reasoner