this is an exercises of 18-21