adding exercise code, not finished