functions
conditionals
higher order functions