optimize as much as i can