https://rijsat.com/smart-contract-development-using-c/