separated program from function declarations