using push and pop matrix instead scale and "unscale"
just some minor tweaks
playing with rotation