Support nil argument and double argument