Modified to use only constructs available when the exercise was assigned