revised and updated : 8th August 2016