procedure conditions and variables