implementing auto_scale