You've added variables like Rand values in the body of the contract. This can make it a bit harder to update the contract as project scope changes or time goes on and fees increase. Rather create project schedules with all the project variables, such as -
- Fees;
- Due dates for payments;
- Project scope; and
- Relevant time periods (such as delivery, responses, etc).