git port of the sipml5 lib with some modifications