@nightshining changed structure of program