added code challenge solution