Smart Contract with funding and withdraw functionality