procedure
procedures with user input
recursion
lists