Staking and Farming pools

Hello genius, i need a smart contract for my project where i will allow my token holders to stake my tokens to earn my other tokens. 2nd i need a pool to get liquidity with my tokens.

Can someone guide me on that how to go about it? are there ready made smart contracts on openzepplin?