@nightshining adding program flow