xna – Matrix transforming with translation/rotation/scale at center of screen

I’m trying to create a camera using matrix transforms, the gist as follows:

Transform =
                Matrix.CreateRotationZ(Rotation) *
                 Matrix.CreateTranslation(new Vector3(-Position.X, -Position.Y, 0)) *
                Matrix.CreateScale(Zoom) *
                Matrix.CreateTranslation(new Vector3(Bounds.Width * 0.5f, Bounds.Height * 0.5f, 0));

It works but with one issue. The rotation origin remains at the starting (-Position.X, -Position.Y) while the zoom works fine (at the center screen) which is obvious from the code. I’d like the rotation to occur at the center screen as well.