functions and calls work