Add licence notice
Mark function prototypes with nothrow attribute