add functions and variable