solidity: patterns