http://mbed.org/users/askksa12543/code/C12832/#990d5eec2ef6