Very nice exercise and very tricky