rearragned parameters for consistency reasons.
transfer rearrangement to driver.c