             # if the signature contains an atom, the message
             # must contain the same atom, otherwise we don't
             # have a match.
+
+            [eachElementOfInvocation, method] = method.nextElement()
+
             if eachElementOfInvocation.rosettaClass == RAtom
+
+              console.log "evaluation " + indentation() + "  matching atoms: - next signature piece: " + eachElementOfSignature.print() + " is atom: " + (eachElementOfSignature.rosettaClass == RAtom) + " with: " + eachElementOfInvocation.print() + " PC: " + theContext.programCounter
+
               # ok at least the message contains an atom, but
               # now we have to check that they spell the same
               if eachElementOfSignature.value == eachElementOfInvocation.value

      temps = contextBeingSearched.self.rosettaClass.tempVariables
      if temps?
        console.log "evaluation " + indentation() + "lookup: checking in " + temps.value
        if (temps.value.find (element) -> element.value == atomValue)
          console.log "evaluation " + indentation() + "lookup: found " + atomValue + " in tempVariables"
          return contextBeingSearched.tempVariablesDict

      instances = contextBeingSearched.self.rosettaClass.instanceVariables
      if instances?
        console.log "evaluation " + indentation() + "lookup: checking in " + instances.value
        if (instances.value.find (element) -> element.value == atomValue)
          console.log "evaluation " + indentation() + "lookup: found " + atomValue + " in instanceVariables"
          return contextBeingSearched.self.instanceVariablesDict

      statics = contextBeingSearched.self.rosettaClass.classVariables
      if statics?
        console.log "evaluation " + indentation() + "lookup: checking in " + statics.value
        if (statics.value.find (element) -> element.value == atomValue)
          console.log "evaluation " + indentation() + "lookup: found " + atomValue + " in classVariables"
          return contextBeingSearched.self.rosettaClass.classVariablesDict


    toBeReturned.print = ->
      return @value

    toBeReturned.findMessageAndBindParams = (theContext, methodInvocationToBeChecked) ->
      console.log "evaluation " + indentation() + "  !!! looking up method invocation " + methodInvocationToBeChecked.print() + " with signatures!" + " PC: " + theContext.programCounter
      console.log "evaluation " + indentation() + "  !!! looking up method invocation, is method empty? " + methodInvocationToBeChecked.isEmpty() + " PC: " + theContext.programCounter

