notes on function basics