Updated the flow of invoking self functions