This library is based on Rudi Meier's implementation with additional features