I have a question regarding picking unconfirmed transactions from the mempool. Let's say, there are 1000 transactions in the mempool. Can I randomly select some transactions, say, transaction a, b, c, d from them, and work on the nonce and create a new block? Is there any criteria about what transactions need to be in the next block?