renaming functions
renaming functions
adding lifo stack