make arg1 and ptr optional