Just for reference, @PaulOB gave a working version of this code earlier, which did not require multiple classes or multiple different margins.