note that there is some third party code with different copywright closes #150