correct the system function