Hi, I am sorry for missing out your message.
I manage to do what I was doing, a try in ropsten network.
The code is in github, which is by company called Paxos
Here is the code https://github.com/paxosglobal/pax-contracts/
I am in a process of understanding the upgrade. I was given paxos as example asked to implement something similar, which I managed to do that. I only had issue with configuration initially but everything worked out.
In regard to upgrade, I am looking into openzepplin too and most likely I will be using that, for a reason that I will have a very good support, in case I face any problem.