alt implementation of analysis