ex17: done, ex19: half