added (a short) solution 16