Some more logic and more accurate min step size