https://mbed.org/teams/components/code/C12832/#03069e3deaa4