adding code from ch7