added (a slow) solution 15