exercise and solution