variable scope functions and variables