tested, poor mans scaling if viewport is too small