added payouts and basic structure

todo : add abstraction