Better implementation that can track each function called, referred by and position of each function called