Refactoring on auxiliary functions
Call stack abstraction