PCQ queues + traffic prioritization

Hi all.
I want to test a better method to distribute the available bandwidth to my users.

I have 3 class of users (basic, standard, premium).

I want to assign an amount of band for each class then distribute the band to the users of a class.
I know this could be done using new Dynamic ppp address-lists and PCQ queues.
But what happens if I create another queue level to prioritize the traffic inside the PCQ ?
I could mark the traffic changing the TOS, then, inside each PCQ branch, create pfifo queue for each traffic type, each one with the desired priority.

Have someone already do this ?

thanks.

This should give you some ideas:

http://mum.mikrotik.com/presentations/US08/janism.pdf

AFAIK there are no other way