progress on defining functions
more progress
anonymous functions, returning functions