scaling code is less spaghetti like, now it always scales even if it isnt required, and resizing window now scales