added the supper for variables and functions definition