implementing non-iterative auto mode