# Mini Mol Specs
## Background
The benefits of the Moloch framework over other more complex DAO frameworks are:
* a relatively simple, single contract structure;
* easy, accessible, and readable code;
* flexibility within its focus on permissioned community coordination.
The idea behind the MiniMol is to explore a more miniturized version of Moloch with a focus on maintaining these three core strengths.
## Mini Mol Specs
* Single core contract
* Functionality focused on:
* Membership
* Member Ownership
* Interacting with outside contracts
* More flexible vote tabulation
* Difference from Molochv2
* More flexible vote tabulation
* No (or minimal) internal banks / accounting
* Two proposal types:
* Membership
* Embedded Minion
### Data
* Member Struct
* Shares
* Delegated Shares
* Note: allow for true delegated voting. Equals shares until member delegates or is delegated votes.
* Delegate Address
* Jailed
* Highest Index Yes Vote
* Mapping (address => uint) tokenClaims
* Note: meant to replace loot
* Proposal Struct
* proposer
* applicant
* sharesRequested
* flags
* Note: [sponsored, processed, didPass, cancelled, guildkick, action, new member]
* startingPeriod
* tabulationMethod
* Note: image this would be an abstract or library contract that returns pass / fail based on the way it counts the votes (i.e. share weight, 1:1, quadratic, etc).
* maxTotalSharesAtYesVote
* details
* mapping (address => Vote) votesByMember
* Vote Enum (Null, Yes, No)
* Mappings and Arrays
* proposal queue
* actions
* proposals
* proposedToKick
* members
### Functions
* Submit Member Proposal
* Proposer
* Applicant
* TributeToken
* TributeOfferred
*